Package handling and sorting operations often require recognition systems for reading bar codes and other symbols which have been affixed to packages. Some types of sorting equipment, for example, use bar code recognition systems to sort packages in accordance with information which has been included in the bar code symbol.
Overhead CCD scanner systems have employed stationary reading devices to scan labels affixed to moving packages. Such devices typically include a linear array of photosensitive cells aligned orthogonally to the motion of the package and a lens system for projecting the image at a scanning window onto the linear array. The cells of the array are scanned at a rate which is relatively high compared to the motion of the package through the read station. The images produced by such scanning equipment are often noisy and of low resolution.
Overhead CCD scanning systems which employ linear arrays and bar code laser scanners typically do not accurately determine the location and/or orientation of a bar code symbol affixed to a moving package. In high speed package sorting operations, this problem is exacerbated by the fact that individual bar code symbols, which are affixed to packages on a moving belt, will typically not have a common alignment or orientation.
A further complication to reading a bar code symbol is introduced when the symbol is embedded against a cluttered background on the moving package. The cluttered background can result from other information, besides the bar code symbol being scanned, which has been placed on the package in close proximity to the bar code symbol. A cluttered or noisy image can also result from stray marks on the package near the bar code symbol, or from a torn, smudged, or mutilated bar code symbol.
A still further complication to extracting and reading bar code symbols embedded in CCD images relates to limitations in image processing hardware that may be employed to process such images. In particular, currently available image processing boards typically include only a limited number of convolvers, thereby limiting the number of images that can be simultaneously convolved with a given mask to the number of convolvers on the image processing board. If an image processing application requires the convolution of multiple images in parallel and a separate convolver is not available on the image processing board for each image being convolved, multiple image processing boards will have to be employed thereby substantially increasing the hardware costs associated with implementing an image processing system.
It is an object of the present invention to provide a system for reading bar code symbols of varying orientation which are affixed to packages on a moving belt.
It is a further object of the present invention to provide a system for reading bar code symbols embedded against a noisy or cluttered background using low resolution scanning equipment.
It is a still further object of the present invention to provide a system for locating within an intensity image varying types of objects or symbols including bar codes, stacked bar codes, square arrays and hexagonal arrays.
It is a still further object of the present invention to provide a system for determining the fine angular orientation within an intensity image of varying types of objects or symbols including bar codes and stacked bar codes.
It is a still further object of the present invention to provide a system for determining bar widths from a two dimensional image representative of a degraded or corrupted bar code symbol.
It is a still further object of the present invention to provide an image processing system which allows a standard convolver to simultaneously convolve multiple digital binary images in parallel using the same binary convolution mask in order to determine pixel densities with each of the binary images.
Further objects and advantages of the invention will become apparent from the description of the invention which follows.